//
//  ZLNetWorkManger.swift
//  微博
//
//  Created by 朱万龙 on 2016/12/15.
//  Copyright © 2016年 zwl. All rights reserved.
//

import UIKit
import AFNetworking

/// Swift支持任意数据类型
/// switch / enum 在OC中都只支持整数
enum ZLHTTPMethod{
   case GET
   case POST
}

// 网络管理工具
class ZLNetWorkManger: AFHTTPSessionManager {

     // 网络单例
    ///第一次访问时，执行闭包，并且将结果保存在share常量中
     static let share = ZLNetWorkManger()
    
    /// 使用一个函数封装 GET/POST请求
    func request(method:ZLHTTPMethod = .GET,URLString:String,parameter:[String:AnyObject],complection:@escaping (_ json:AnyObject?,_ isuccess:Bool)->()){
        /// 定义闭包
        //成功回调
        let success = { (task:URLSessionDataTask,json:Any?)->() in
            complection(json as AnyObject?, true)
        }
        //失败回调
        let failure = { (task:URLSessionDataTask?,error:Error)->() in
            complection(nil,false)
        }
        
        if method == .GET {
            
            get(URLString, parameters: parameter, progress: nil, success:success,failure:failure)
        }else{
        

            post(URLString, parameters: parameter, progress: nil, success: success, failure: failure)
        }
    
    }
    
}
